Add nfpms, Scoop, and install scripts#2
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Expands Emailable CLI distribution/install options beyond Homebrew by adding cross-platform installers, additional package-manager release artifacts, and a Nix flake, plus improving emailable --version output for go install builds.
Changes:
- Add curl/bash and PowerShell install scripts that select OS/arch, download release artifacts, and verify SHA-256 checksums.
- Extend GoReleaser to publish nfpm packages (
.deb,.rpm,.apk) and a Scoop manifest, and rename the tap token secret for reuse. - Add a Nix flake for
nix profile install, and update version reporting to fall back to module version metadata when ldflags aren’t present.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/install.sh | New Unix installer (download, checksum verify, install binary + man pages). |
| scripts/install.ps1 | New Windows installer (download, checksum verify, install binary, update user PATH). |
| README.md | Documents new install options (scripts + package managers + Nix). |
| flake.nix | Adds a Nix flake using buildGoModule. |
| cmd/root.go | Improves version display by falling back to Go module version info. |
| .goreleaser.yaml | Adds nfpm + Scoop publishing and updates token env var usage. |
| .github/workflows/release.yml | Renames the release token secret to TAP_GITHUB_TOKEN. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
51087a9 to
6919b4d
Compare
Expands the release pipeline beyond Homebrew so users on more platforms can install via their native package manager: - `nfpms`: produces `.deb`, `.rpm`, and `.apk` packages from each release. Man pages are added via a `./man/*.1` glob so the package contents track new commands automatically (nfpm supports globs; the Homebrew cask still needs an explicit list). - `scoops`: publishes a manifest to `emailable/scoop-bucket` on every tag, reusing the same PAT as the existing Homebrew tap. - `scripts/install.sh` and `scripts/install.ps1`: curl-pipe-bash and PowerShell installers that detect OS/arch, verify SHA-256, and install the binary + bundled man pages. Reached via `emailable.com/install-cli` (Netlify proxy redirect lives in the website repo). - `cmd/root.go`: `go install module@vX.Y.Z` now reports the actual module version via `runtime/debug.ReadBuildInfo` instead of always saying `"dev"`. The fallback is gated on the build carrying no VCS info, so local checkouts keep reporting `"dev"` rather than an untagged pseudo-version (which would print a 404 release URL). - Introduces a `RELEASE_GITHUB_TOKEN` secret covering both the Homebrew tap and the Scoop bucket. A top-level `env` default keeps `make release-snapshot` working when no token is exported. - Drops `bubbletea` to an indirect dependency (`go mod tidy`); it's no longer imported directly after the move to huh.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Expands the release pipeline beyond Homebrew so users on more platforms can install via their native package manager:
.deb,.rpm, and.apkpackages from each release. Man pages are bundled via a./man/*.1glob so package contents track new commands automatically (nfpm supports globs; the Homebrew cask still needs an explicit list).emailable/scoop-bucketon every tag.scripts/install.sh(curl-pipe-bash) andscripts/install.ps1(PowerShell): detect OS/arch, verify SHA-256, and install the binary + bundled man pages. Reached viaemailable.com/install-cli(Netlify proxy redirect lives in the website repo).go install module@vX.Y.Znow reports the real module version viaruntime/debug.ReadBuildInfo. The fallback is gated on the build carrying no VCS info, so local checkouts keep reportingdevrather than an untagged pseudo-version (which would otherwise print a 404 release URL).RELEASE_GITHUB_TOKEN— single secret covering both the Homebrew tap and the Scoop bucket; a top-levelenvdefault keepsmake release-snapshotworking when no token is exported.bubbleteato an indirect dependency (go mod tidy); it's no longer imported directly after the move to huh.Nix flake removed from this PR — it needs a real
vendorHashverified on a machine with nix; will follow up separately.